home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 19
/
CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso
/
CUCD
/
Readers
/
ExtremeAmos
/
Text
/
Ripper_3.ASC
< prev
next >
Wrap
Text File
|
1995-12-30
|
17KB
|
349 lines
ü
Multiripper tutorial part 3 - Decrunchers
-----------------------------------------
þ
Not only is Multi-ripper an excellent module ripper, but it is
also the best executable ripper that I know of, doing a much better
job than larger rippers such as ExoticRipper.
Multiripper allows you to unpack executables into the memory, and
then examine the uncrunched contents for music modules. Lot's of
different kinds of decrunchers are detectable, including almost all of
the classic ones, and all of the exotic decrunchers used by coding
groups such as Paradox and Red Sector.
This next part of the tutorial is hopefully going to help you in
getting your music modules from crunched files. Even better for you, I
shall show you how to recover modules from Non-DOS disks, which you
can't access in Workbench. Multi-Ripper is the ONLY shareware ripper
that will allow you to mess around with the sectors on the disk, as
with any of the other programs, you must register in order just to be
able to read the disk.
ÿ
þ
I am also going to explain a bit about the encryption routines
that some of the programmers use in their code to try and "Hide" the
prescence of a module, as well as some other ways of deciding if a
module exists, without having to load Multiripper.
Remeber, that not all Non-DOS disks are readable in the ripper. If
you try and use a disk such as Shadow of the Beast 2, then you will see
that the ripper cannot register it, where if you use disks such as
R-Type and Red Sector megademo, it has no problems.
Here are the 2 main things you need to know, starting at the top
with executable decrunchers.
ü
EXECUTABLE DECRUNCHERS
----------------------
þ
Often when you are writing a game, you will find that when
everything is placed on the disk, the program takes up just a few
extra K's of space than what you can actually use. When this happens,
people use a "Cruncher" program, which reads the program in, and
ÿ
þ
squashes it up, so that it takes up less space on the disk. When the
program is then run, it is unpacked, and then executed.
When this happens, the module player will not be able to determine
what is a module, and what is not. It will more than likely keep
coming up with jargon than any actual modules. Commonly used
filecrunchers are Stonecracker, PowerPacker and Crunchmania, which all
three will NOT decrunch in multi-ripper. Many of the old and exotic
crunchers will work, as they use the same kind of code as regular
decrunchers, but perhaps have a different on-screen effect as it is
unpacking.
There are 2 ways of reading these files into Multiripper. The
first, being the simple RI (Filename) (address in mem), and then you
can use a HUNK (adress loaded in) to find the decrunch header.
The program (if it understands all of the decruncher) will ask you
if you want to Move, Skip or Unpack the decrunched file. It is a good
idea to move the decruncher to a place in memory that is not used, as
anything between the 2 addresses shown is completely overwritten.
ÿ
þ
Pressing U will unpack the file. You may have to wait a while,
depending on how big the file is. With a lot of the decrunchers, the
screen will be effected, also an indication that the process is
working. Once unpacked, the program will tell you the start and finish
address of the program you have just unpacked. If you use the WI
command with the 2 addresses, you will save a data-file of the
uncrunched executable, for use in other programs and rippers etc. NOTE
that the file saved IS NOT executable, as it is the raw data directly
from the decruncher. The executable bit of the program is scattered
around somewhere for the convinience of the decruncher.
Sometimes, the program will not be able to understand the
decruncher either fully, or partly. If it does not recognize it at
all, it will just skip past it. If it partly-recognizes the cruncher,
then what it displays will depend on what it understands. The common
ones are "Unable to locate decrunch address" meaning that you cannot
move the program around, and you also must unpack it to the address
that is stated/non stated, which usually results in a crash.
Once you have unpacked the file, you can begin your usual music
ÿ
þ
ripping commands to see if there are any kinds of music modules in
there at all. Common ways of disguising modules are to make the
modules look like old Soundtracker modules, which can't be picked in
in Multi-ripper too well. See the previous part for more information.
When a module has been located, you can save it in the same way
you would any other module. It should be OK, but some modules tend to
get a bit of interference inside them, especially if MR is not too
familiar with the decruncher that was used.
û
SECTOR DECRUNCHERS
------------------
þ
Sector decrunchers are normally the decrunchers that you find on
the Non-DOS disks such as games and demos. Multiripper can read and
examine these kind of disks for both decrunchers and music modules.
Firstly, in order for you to do anything, there are 2 commands
that you can use to look on the disk. The first, and easiest, is the
ÿ
þ
SCAN command, which will scan the disk in the internal drive for
modules and decrunchers. The addresses of any possibilities found are
displayed on the screen. The list of all the decrunchers that have
been found can be called at any time using the LDEC command. With the
modules however, I think it would be best if you wrote down what you
find, as they will not be listed on-screen with the LDEC command. Now,
when you have these numbers, they can be used in conjunction with the
RS command, as they are the sector numbers the Amiga recognized
something at. It is always a good idea to add a few numbers to the end
of the last sector number to make sure that you load all of the needed
data into memory. Once you have read in the information, you can then
go onto using the HUNK command and the HUNT command to try and recover
the data even further. If you manage to find a module/decrunch header
and the data is not all there, then add a few more to the final
address of the RS sector, as the information is not being read in to
be played. With decrunchers, you will be always unpacking lots of 0's,
or the system could crash, although that has not happened on me yet,
and I don't really want it to.
The second command is a bit more difficult, and you will need at
ÿ
þ
least 2Mb of RAM in order to pull it off. If you have set your disk up
the way I told you in the first part of the tutorial, you should see
that the program kicks in at the beginning of the memory, making the
startplace of memory at 45000 (disk users) and 75000 (Amiga's with a
HD). Now, insert the disk and type RS 0 6E0 75000 and hit return. This
will read the entire disk into memory, up to about 150000, allowing
you a bit of space for any decrunchers that you should find. If the
program happents to hit a read error, then the operation will be
aborted where it is on the disk, and not read any further. Once
finished reading, you can use a direct HUNT command to look into the
memory for any modules, or a HUNK command to try and locate a
decruncher. NOTE that some modules will be messed up slightly from the
RS method, depending on the cruncher systems that the disk uses. One
example of a module that will come straight from an RS is the rather
good title tune from Zool 2. It will rip it clean, and all samples
too. For more examples of modules that I have ripped, then see further
down in the document, where I shall give a few working examples.
Remember, it is illegal to try and sell modules you have ripped from
any commercial game under your own name, so don't do it !!
ÿ
þ
Both of the above methods do exactly the same job, except maybe
the second method is probably a bit more reliable, as you know then
that you have all the data needed to play a complete module, or unpack
a full decruncher.
û
HIDING THE MODULES
------------------
þ
Don't sneeze whilst typing on the keyboard, and brushing your
teeth at the same time. You get toothpaste all over the monitor and
keyboard. Anyhow, enough of my little accident, and back to the
tutorial. A lot of software houses try and hide their modules by
putting a form of an encrypter into their modules, to try and stop top
rippers like myself from extracting them successfully. I have managed
to crack quite a few of these, but there are the odd few which still
stump me for a while.
The most common one, which does not really encrypt the module, but
stumps Multiripper, is to store the module as an old Soundtracker
module, which uses the standard 15 presets instead of the newer 31
ÿ
þ
presets. The best way around this, is to save the data file you have
unpacked, and load it into another ripper such as ExtoicRipper, which
does rip the old Soundtracker modules, and convert them to 31 using
Protracker or Soundtracker module makers.
Another good one is to alter the way the actual module is read by
a music player. Let me try and build a picture of the header into your
head. A music module name consists of 20-22 characters consisting of
CHR$(0). The name of the module can be no more than 20 characters
long, as is stored in the first 20 characters of the header. Then, the
names of all the samples are stored after this, and finally, the song
and sample data. Now, if you were to change all the 0's in the name to
a set variable, or just to random numbers, then the module ripper
would not be able to pick it up because it could not find that final
0. Ways around this are to edit the file in a binary editor such as
DekSID, but you have to know what you are looking for first. The
sample names are usually kept in, although these can be changed to
disguise the module a bit too.
Another good way, is to store the song and the samples at
ÿ
þ
different parts of the program. Then, when the program is run, the 2
parts are pasted together as one in order to play. This is a method
that I use, and is fairly effective, as you will only be able to rip
the song information, without any samples.
Sometimes, however, modules just cannot be ripped cleanly.
Sometimes you can rip the song with no problems, but you will have to
put the samples in the right place yourselves using a program such as
Protracker. The samples are often corrupted, but using a professional
sample editor, you should still be able to remove the individual
samples without too much hassle.
û
WAYS OF DETECTING A MOD WITHOUT MULTIRIPPER
-------------------------------------------
þ
Now, although Multiripper is very good at ripping modules, it can
be very tiresome when it comes to loading in loads of files only to
discover you cannot locate a module.
Any kind of program which has a RAW sample player within it can be
ÿ
þ
used. I have a few small programs in the AMOS library which do the
same job. The way it works is quite simple. You load in the file you
wish to examine, and begin playing. If it is not a module, you will
hear lots of mess in the background. If the program starts playing
samples from the module you are looking for, such as drum beats,
cymbals etc., then you are onto a roll. If the file only plays the one
sample, the chances are that the file you are listening to is a raw
sample anyway.
You can then load the file into Multiripper and try and extract a
module from it. Note that you cannot determine if a decruncher exists
if you use the Directory Opus method.
ý
EXAMPLE MODULES TO TANTALIZE YOUR TITBITS !!
--------------------------------------------
þ
Well, here it is. Some examples from the hundreds of games that I
have managed to rip tunes from. I have just put the basic instructions
for use in Multiripper, plus any other instructions that you will need
in external programs. Here goes :
ÿ
ù
NAME OF PROGRAM METHOD OF EXTRACTION
----------------------|----------------------------------------------
Budbrain 2 demo | Run the demo, and when the tune you want
| begins to play, reset the computer and use
| the HUNT command. The modules should
| appear entact.
Jaguar XJ 220 | Again, wait till the tune appears and use
| a standard HUNT command. All the CD tracks
| are rippable in MR except the first.
Zool 2 | RS data disk 1 into memory, and use a
| standard HUNT command to locate the title
| tune.
Red Sector Megademo | Locate all the decruncher addresses using
| one of the above-mentioned methods. Unpack
| each file in turn, and use a HUNT command.
| If HUNT fails, save the data file and use
| ExoticRipper to locate old Soundtracker
| modules. Not all decrunchers contain
| modules.
ÿ
ù
Funny demo | Uncrunch the executable into memory, and
| save the data file. Use DekSID to find a
| sample named BELLS. Change the character
| 21 characters behind to an ASCII value
| above 0, and re-write the file. You should
| be able to rip an old ST module with
| ExoticRipper. If there are no samples,
| use a good sample editor to recover them
| from the data file.
þ
Well, that is about it. All the others are just the same, so there
is no point in adding loads of the same kind of rip.
It also brings us to the end of this tutorial. If you are still
stuck on Multiripper, and need some advice, or perhaps a shareware
copy of the program, then why not drop me a line. If you want a copy
of the program, along with any other of the Shareware programs used,
then send me a disk and a letter telling me what you want, and I will
be happy to return it to you. If you are interested in AMOS
programming, then also let me know. Fill the disk with some of your
ÿ
þ
programs so I can include them in the library. The address to send all
your stuff to is :
ú
Andrew "Mushroom" Kellett
Mushroom PD
32 Castleton Crescent
Gamesley
Glossop
Derbyshire
SK13 9TH
ENGLAND
þ
Several thanx must go out in this tutorial, the main going to
Erland Simonsen, author of the amazing Multiripper. Here is a list of
all programs which you should have in your posession in order to rip
modules on a high basis :
ÿ
û
MultiRipper V3 (Shareware)
ExoticRipper (Shareware)
DekSID (Shareware)
Directory Opus
PRO Sample Player (Freeware)
Noiseplayer (Freeware)
Smartplay (Freeware)
þ
I have several other tutorials available. These include routines
for AMOS and AMOSPro, and consist of Graphic equalizers, and how to
make tracker demos, as well as being able to recognize tracker modules
from within AMOS. If you want any of these, then please ensure that
you enclose a disk for me to include them on.
So, until we happen to meet again, it is goodbye from me, and
goodbye from Millie.
ú
[Andrew "Mushroom" Kellett]
÷
EOF